package com.hy.three400;

import java.util.Stack;

/**
 * Created With IntelliJ IDEA.
 * Descriptions:候诊室中的最少椅子数
 * <p>
 * 给你一个字符串 s，模拟每秒钟的事件 i：
 * 如果 s[i] == 'E'，表示有一位顾客进入候诊室并占用一把椅子。
 * 如果 s[i] == 'L'，表示有一位顾客离开候诊室，从而释放一把椅子。
 * 返回保证每位进入候诊室的顾客都能有椅子坐的 最少 椅子数，假设候诊室最初是 空的 。
 * User:Mr.Du
 * Date:2024/6/2
 * Time:21:02
 */
public class MinimumChairs {
    public int minimumChairs(String s) {
        Stack<Character> st = new Stack<>();
        int res = 0;
        for(int i = 0;i < s.length();i++){
            char c = s.charAt(i);
            if(s.isEmpty()){
                st.push(c);
            }else if(c == 'E'){
                st.push(c);
            }else if(c == 'L'){
                st.pop();
            }
            res = Math.max(res, st.size());
        }
        return res;
    }
}
